package main

// ==============================header=========================================
// //go:generate go run ./generate/                                           //
// package main                                                               //
//                                                                            //
// =============================================================================
//
// ==============================importPackage==================================
// import (                                                                   //
// 	"file-view/backend"                                                       //
// 	"github.com/gin-gonic/gin"                                                //
// )                                                                          //
// =============================================================================
//
// ==============================initRouter=====================================
// func initRouter() {                                                        //
// 	routerWrappper := RouterWrapper{                                          //
// 		Router: backend.Router{},                                               //
// 	}                                                                         //
// 	router.POST("/api/GetPing", routerWrappper.GetPing)                       //
// 	router.POST("/api/GetFileList", routerWrappper.GetFileList)               //
// 	router.POST("/api/Test", routerWrappper.Test)                             //
// 	filecontrollerWrappper := FileControllerWrapper{                          //
// 		FileController: backend.FileController{},                               //
// 	}                                                                         //
// 	router.POST("/api/GetFile", filecontrollerWrappper.GetFile)               //
// }                                                                          //
// =============================================================================
//
// ==============================WrapperStruct==================================
// type RouterWrapper struct {                                                //
// 	backend.Router                                                            //
// }                                                                          //
//                                                                            //
// ==============================wrapperMethods==========================     //
// func (r RouterWrapper) GetPing(ctx *gin.Context) {                  //     //
// 	r.Router.GetPing()                                                 //     //
// }                                                                   //     //
//                                                                     //     //
// func (r RouterWrapper) GetFileList(ctx *gin.Context) {              //     //
// 	type request struct {                                              //     //
// 		Dir string `json:"dir"                                           //     //
// 	}                                                                  //     //
// 	var req request                                                    //     //
// 	if err := ctx.ShouldBindJSON(&req); err != nil {                   //     //
// 		ctx.JSON(400, gin.H{"error": err.Error()})                       //     //
// 		return                                                           //     //
// 	}                                                                  //     //
//                                                                     //     //
// 	list, err := r.Router.GetFileList(req.Dir)                         //     //
// 	if err != nil {                                                    //     //
// 		ctx.JSON(500, gin.H{"error": err.Error()})                       //     //
// 	}                                                                  //     //
//                                                                     //     //
// 	res := make(map[string]any)                                        //     //
// 	res["fileList"] = list                                             //     //
//                                                                     //     //
// 	ctx.JSON(200, res)                                                 //     //
// }                                                                   //     //
//                                                                     //     //
// func (r RouterWrapper) Test(ctx *gin.Context) {                     //     //
// 	r.Router.Test()                                                    //     //
// }                                                                   //     //
// ======================================================================     //
// =============================================================================
//
// type FileControllerWrapper struct {
// 	backend.FileController
// }
//
// func (r FileControllerWrapper) GetFile(ctx *gin.Context) {
// 	type request struct {
// 		FileName string ` + "json:\"fileName\"" + `
// 	}
// 	var req request
// 	if err := ctx.ShouldBindJSON(&req); err != nil {
// 		ctx.JSON(400, gin.H{"error": err.Error()})
// 		return
// 	}
//
// 	info, err := r.FileController.GetFile(req.FileName)
// 	if err != nil {
// 		ctx.JSON(500, gin.H{"error": err.Error()})
// 	}
//
// 	res := make(map[string]any)
// 	res["fileInfo"] = info
//
// 	ctx.JSON(200, res)
// }

// TS
// import client from "./client";
// import { GetFileList } from "./types";
//
//
// export const getFileList = async (params: {
//   dir?: string
//   dir2?: string
//   dir3?: string
// }) => {
//   const res = await client.post<GetFileList>("/api/GetFileList", params);
//   return res.data;
// }
